iT邦幫忙

2021 iThome 鐵人賽

DAY 14
0
自我挑戰組

HTML、 PHP CRUD 自我學習系列 第 14

第14天 - PHP 簡易登入(1)_HTML的部分

  • 分享至 

  • xImage
  •  

首先把之見前建立的 表staff 加入【密碼欄位】。
(為了方便,密碼都設個位數XD)
https://ithelp.ithome.com.tw/upload/images/20210914/201413550MLHCDj8KT.png

(以下憑我印象小聊一下,資訊可能有許多錯誤,還請見諒)
嚴格說,好像沒有人會這樣把密碼存在資料表,至少會用 md5 加密一下(沒記錯的話 md5 好像能推算回去,也不是最安全的 << 只要有人拿到表就還是會破功),更高階的好像是連管理員那邊都無法知道你的密碼(用公、私鑰的方法...嗎? <<拿到表,也不能怎樣),不過也有遇過剛註冊完就發送"密碼確認"到你信箱的...

首先要而外建立一個登入的頁面(我的是 login2.php)
然後是 login2.php 的 HTML

<div class="container d-flex justify-content-center align-items-center"style="min-height: 100vh">

<!--下面的FORM標籤 包含了JS name="loginn"、onsubmit="return validateForm()"; 
    以及後續 登入PHP所指向的 logincode2.php-->
    <form class="border shadow p-3 rounded" 
          method="POST"
          action="logincode2.php"
          name="loginn"
          onsubmit="return validateForm()">

        <div class="mb-3">
            <label for="username" 
                   class="form-label">
                <h4>帳號</h4>
            </label>
            <input type="text" 
                   class="form-control" 
                   id="username" 
                   placeholder="請輸入會員ID"
                   name="id">
        </div>
        <div class="mb-3">
            <label for="password" 
                   class="form-label">
                <h4>密碼</h4>
            </label>
            <input type="password" 
                   class="form-control" 
                   id="password" 
                   placeholder="請輸入您的密碼"
                   name="password">
        </div>

        <input type="submit" 
                class="btn btn-primary" 
                style="width: 100%; "
                value="登  入"
                name="btn_login"></input>
    </form>
</div>

<!--防全空的JS-->
<script>
    function validateForm() 
    { 
    var x = document.forms["loginn"]["username"].value;
    var y = document.forms["loginn"]["password"].value;

        if (x == "") 
        {
            alert("帳號不可為空");      
            return false; 
        }
        else if (y == "") 
        {
            alert("密碼不可為空");      
            return false; 
        }
     } 
</script>

之後登入的東西還會需要用到 session 之類的東西,
然後也可依據 session 來判斷登入者的身分(配合 staff_role 欄位)
然後就是比較重要的東西都最好用 session 來寫,比較安全。

沒記錯的話 session 對伺服器負荷比較大,但比較安全;
cookie則相反(對伺服器甚至沒負荷,都留在客戶端那邊 <<所以也相對危險)

今天就先這樣,下次見。


上一篇
第13天 - (配第11天) 修改MySQL資料表內容,配合下拉式選單
下一篇
第15天 - PHP 簡易登入(2)_PHP的部分
系列文
HTML、 PHP CRUD 自我學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言